import arcpy
from arcpy import env
from arcpy.sa import *
import os

# Set the environment
env.workspace = r"C:\path\to\your\raster\folder"  # Replace with your raster folder path
env.outputCoordinateSystem = arcpy.SpatialReference("WGS 1984")

# Ensure Spatial Analyst extension is enabled
arcpy.CheckOutExtension("Spatial")

# Get all raster files
rasters = arcpy.ListRasters()

# Set zone data path (shapefile)
zone_data = r"C:\path\to\your\shapefile\ROCK-VEG.shp"  # Replace with your shapefile path
zone_field = "TYPE"  # The field to use for zoning

# Folder for saving output
output_folder = r"C:\path\to\output\folder"

# Perform zonal statistics for each raster
for raster in rasters:
    try:
        # Set output paths for .dbf and .csv
        output_dbf = os.path.join(output_folder, "{}_rkt.dbf".format(os.path.splitext(raster)[0]))
        output_csv = os.path.join(output_folder, "{}_rkt.csv".format(os.path.splitext(raster)[0]))
        
        # Perform zonal statistics as table
        ZonalStatisticsAsTable(zone_data, zone_field, raster, output_dbf, "DATA", "ALL")
        
        # Convert .dbf to .csv
        arcpy.TableToTable_conversion(output_dbf, output_folder, "{}_rkt.csv".format(os.path.splitext(raster)[0]))

        print(f"Zonal statistics and conversion completed for {raster}.")
    except Exception as e:
        print(f"Error processing {raster}: {e}")

print("Zonal statistics completed for all rasters.")
